﻿using SuperX.Common.APIManager;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;

namespace SuperX.Common.PlugIn
{
    /// <summary>
    /// 插件接口
    /// </summary>
    public interface IPlugIns : IBasicObject, IController, IPersistence
    {
        //
        bool IsEnable { get; set; }

        //
        RunMode RunMode { get; set; }

        //
        [JsonIgnore]
        ModuleContext ModuleContext { get; set; }

        //
        string FileName { get; set; }

        //
        string FullFileName { get; }

        //
        [JsonIgnore]
        IAPIController APIController { get; set; }
    }
}